package com.mazaiting.easy.base.interfaces;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.chad.library.adapter.base.BaseQuickAdapter;

/***
 *
 *
 *                                                    __----~~~~~~~~~~~------___
 *                                   .  .   ~~//====......          __--~ ~~
 *                   -.            \_|//     |||\\  ~~~~~~::::... /~
 *                ___-==_       _-~o~  \/    |||  \\            _/~~-
 *        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
 *    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
 *  .~       .~       |   \\ -_    /  /-   /   ||      \   /
 * /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
 * |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
 *          '         ~-|      /|    |-~\~~       __--~~
 *                      |-~~-_/ |    |   ~\_   _-~            /\
 *                           /  \     \__   \/~                \__
 *                       _--~ _/ | .-~~____--~-/                  ~~==.
 *                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
 *                                 -_     ~\      ~~---l__i__i__i--~~_/
 *                                 _-~-__   ~)  \--______________--~~
 *                               //.-~~~-~_--~- |-------~~~~~~~~
 *                                      //.-~~~--\
 *                               神兽保佑
 *                              代码无BUG!
 * @author mazaiting
 * @date 2019/5/29
 * @decription 刷新接口
 */
public interface IRefresh {

    /**
     * 获取下拉刷新控件
     * @return 下拉刷新控件
     */
    @NonNull SwipeRefreshLayout getSwipeLayout();

    /**
     * 获取可循环列表
     * @return 可循环列表
     */
    @NonNull RecyclerView getRecyclerView();

    /**
     * 获取 RecyclerView 适配器
     * @return 适配器
     */
    @NonNull BaseQuickAdapter getAdapter();

    /**
     * 获取加载动画
     * @return 加载动画
     */
    int getLoadAnimation();

    /**
     * 获取 RecyclerView 方向
     * @return 布局方向
     */
    RecyclerView.LayoutManager getLayoutManager();

    /**
     * 获取下拉刷新颜色
     * @return 颜色
     */
    int getColorSchemeColors();

    /**
     * 设置列表适配器
     * @return 返回适配器
     */
    BaseQuickAdapter setAdapter();
}
